package ar.edu.utn.frgp.EjemploHibernate.model;

import com.mysql.jdbc.StringUtils;

/***
 * Representa una entidad de negocio generica. Todas las entidades DEBEN heredar
 * de esta clase.
 * 
 * @author Adriano
 * 
 */
public abstract class EntityBase {
	/***
	 * Obtiene el identificador de la entidad.
	 * 
	 * @return
	 */
	public abstract int getId();

	/***
	 * El identificador de la Entidad
	 * 
	 * @param id
	 */
	public abstract void setId(int id);

	public boolean equals(Object obj) {
		if (this == obj)
			return true;

		if (obj instanceof EntityBase) {
			EntityBase entity = (EntityBase) obj;

			if (!StringUtils.isNullOrEmpty(String.valueOf(this.getId()))) {
				return String.valueOf(this.getId()).equals(entity.getId());
			}
		}
		return false;
	}

}
